package com.pucong.gitee.database.backup.business.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pucong.gitee.database.backup.common.entity.sys.SysRole;
import com.pucong.gitee.database.backup.common.entity.sys.SysRoleResource;
import com.pucong.gitee.database.backup.common.entity.sys.dto.SysRoleSaveDto;
import com.pucong.gitee.database.backup.common.entity.sys.vo.AddSysRoleResourceDto;

import java.util.List;

/**
 * 用户基础信息 service接口
 *
 * @author pucong
 * @company gitee.com/pucong
 * @create 2020-12-01
 */
public interface SysRoleService extends IService<SysRole> {


    List<SysRole> getSysRoleInfoList();

    /**
     * 新增数据
     *
     * @return
     * @para sysRole
     */
    SysRole insertSysRoleInfo(SysRoleSaveDto dto);

    /**
     * 根据主键更新
     *
     * @param id
     * @param dto
     * @return
     */
    int updateSysRoleInfoById(String id, SysRoleSaveDto dto);

    /**
     * 根据id删除数据
     *
     * @param id
     * @return
     */
    int deleteSysRoleInfoById(String id);

    /**
     * 新增角色关联资源
     *
     * @param id
     * @param resourceIds
     * @return
     */
    SysRoleResource addSysRoleResource(String id, AddSysRoleResourceDto resourceIds);

    /**
     * 删除角色关联资源
     * @param roleId
     * @param resourceId
     * @return
     */
    int deleteSysRoleResource(String roleId, String resourceId);

    /**
     * 查询角色下的资源ids
     *
     * @param id
     * @return
     */
    List<String> getRoleResourceByRoleId(String id);
}
